#ifndef DEFAULTGRAPHGENERATOR_H_
#define DEFAULTGRAPHGENERATOR_H_

#include <boost/shared_ptr.hpp>

#include "graphsupport/graph/generate/IGraphGenerator.h"
#include "graphsupport/graph/operation/IGraphOperation.h"

class DefaultGraphGenerator : public IGraphGenerator
{
public:
	DefaultGraphGenerator(
		const IGraphOperationPtr & operationPtr
	);

	virtual void generateGraph(
		Graph & graph,
		IOperationSettings & genSettings = IOperationSettings::EMPTY_SETTINGS
	);

public:
    IGraphOperationPtr & getOperation();

private:
	IGraphOperationPtr operationPtr;
};

#endif /* DEFAULTGRAPHGENERATOR_H_ */
